using System;
using Microsoft.Pex.Framework;
using CardGamesLibrary.Cards;

namespace CardGamesLibrary.Cards
{
    /// <summary>A factory for CardGamesLibrary.Cards.FrenchDeckCard instances</summary>
    public static partial class FrenchDeckCardFactory
    {
        /// <summary>A factory for CardGamesLibrary.Cards.FrenchDeckCard instances</summary>
        [PexFactoryMethod(typeof(FrenchDeckCard))]
        public static FrenchDeckCard Create(byte rank_i, int suite_i1_)
        {

            PexAssume.IsTrue(rank_i >= 1 && rank_i <= 13);
            PexAssume.IsTrue(suite_i1_ >= 1 && suite_i1_ <= 4);
            FrenchDeckCard frenchDeckCard = new FrenchDeckCard((Rank)rank_i, (Suite)suite_i1_);
            return frenchDeckCard;

            // TODO: Edit factory method of FrenchDeckCard
            // This method should be able to configure the object in all possible ways.
            // Add as many parameters as needed,
            // and assign their values to each field by using the API.
        }
    }
}
